// 连接 MySQL：先安装 npm i mysql -D
var mysql = require('mysql');
// MySQL 的连接信息
var connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'zuoling123',
  database: 'myproject'
});
// 开始连接
connection.connect();

// 引入 http 模块：http 是提供 Web 服务的基础
const http = require("http");

// 引入 url 模块：url 是对用户提交的路径进行解析
const url = require("url");

// 引入 qs 模块：qs 是对路径进行 json 化或者将 json 转换为 string 路径
const qs = require("querystring");
const { join } = require('path');
const { ifError } = require('assert');

// 用 http 模块创建服务
/**
 * req 获取 url 信息 (request)
 * res 浏览器返回响应信息 (response)
 */
http.createServer(function (req, res) {

  // 设置 cors 跨域
  res.setHeader("Access-Control-Allow-Origin", "*");
  // 设置 header 类型
  // res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
  // 跨域允许的请求方式
  // res.setHeader('Content-Type', 'application/json');
  if (req.method == "POST") { // 接口 POST 形式

    console.log("\n【POST 形式】");

    // 获取前端发来的路由地址
    let pathName = req.url;

    console.log("\n接口为：" + pathName);

    // 接收发送过来的参数
    let tempResult = "";

    // 数据接入中
    req.addListener("data", function (chunk) {
      tempResult += chunk;
    });

    // 数据接收完成
    req.addListener("end", function () {

      var result = JSON.parse(tempResult);
      console.log("\n参数为：");
      console.log(result);
      if(pathName == "/message"){

        let sql =`insert into message(id,title,info,date) values(?,?,?,?)`
        let sqlparams=[result.id,result.title,result.info,result.date]
        connection.query(sql,sqlparams,(err,res1)=>{
          if(err)
           console.log(err)
           else
           {
             res.end(JSON.stringify({
               res:res1,
               msg:'添加成功！'
             }))
           }
        })
      }
     else if(pathName == "/table"){
        let sql ="update clockin set isclock='已打卡',`text`=?,`check`='?' where id=?"
        let Sparams=[result.text,result.checkeds,result.id]
        connection.query(sql,Sparams,(err,res1)=>{
          if(err)
          console.log(err);
          else
          console.log(res1);
        })

      }

      else if (pathName == "/gettable") { // 提交留言信息
          let sql =`select isclock from clockin where id =${result.id} `
        connection.query(sql,(err,res1)=>{
          if(err)
          console.log(err);
          else
          {
            let newres=JSON.parse(JSON.stringify(res1))[0]
            console.log(newres.isclock);
            if(newres.isclock=="已打卡"){
              res.end(JSON.stringify({
                code:0,
                msg:'已经打卡'
              }))
            }
            else{
              res.end(JSON.stringify({
                code:1,
                msg:'没有打卡'
              }))
            }
          }
        })
      } else if (pathName == "/login") { // 登录
          let number =result.number
          let password=result.password
         let sql =`select * from user where id=${number}`
         connection.query(sql,(err,res1)=>{
             if(err)
             console.log(err)
             else{
               let newres=JSON.parse(JSON.stringify(res1))[0]
               console.log(newres)
             if(newres==null){
                  res.end(JSON.stringify({
                     code:0,
                     msg:'不存在该用户！'
                  }))
             }
             else if(password!=newres.password){
               res.end(JSON.stringify({
                 code:1,
                 msg:'密码错误！'
               }))
             }
             else {
              res.end(JSON.stringify({
                code:2,
                msg:'登录成功！'
              }))
             }
            }
         })


      } else if (pathName == "/register") { // 注册

        console.log("\n【API - 注册】");

      }
      // 接口信息处理完毕
    })}
    // 数据接收完毕

   else   if (req.method == "GET") { 
               
     console.log(url.parse(req.url));
    let pathName = url.parse(req.url).pathname;
    let params  = url.parse(req.url).search.split('=')[1]
    console.log(params);

   
    if (pathName == "/userinfo") { // 发送用户信息
          let sql =`select * from  userinfo where id=${params}`
          connection.query(sql,(err,res1)=>{
            if(err)
            console.log(err);
            else{
              let newres=JSON.parse(JSON.stringify(res1))[0]
              res.end(JSON.stringify({
                userInfo:newres
              }))
            }
          })
       

    } else if (pathName=='/gettable'){
      let sql =`select * from timetable where id =${params}`
      connection.query(sql,(err,res1)=>{
          if(err)
          console.log(err)
          else
          {
            let newres=JSON.parse(JSON.stringify(res1))[0]
            console.log(newres.table.split(';'))
            res.end(JSON.stringify({
               arr:newres.table.split(';')
            }))
          }
      })  
     }

     else if(pathName=='/grade'){
      let sql =`select * from grade where id =${params}`
      connection.query(sql,(err,res1)=>{
        if(err)
        console.log(err);
        else{
          let newres=JSON.parse(JSON.stringify(res1))[0]
          res.end(JSON.stringify({
            arr:newres.grade
         }))
        }
      })
     }
     
 

  }

}).listen(4396); // 监听的端口

